package com.panda.web.service.wechat;

import com.panda.common.core.domain.model.WeChatLogin;
import com.panda.web.domain.dto.ReportDTO;
import com.panda.web.domain.vo.CodeVO;
import com.panda.web.domain.vo.UserJob;
import com.panda.web.domain.vo.commons.ScoreVO;
import com.panda.web.entity.aims.CallAi;
import com.panda.web.entity.wechat.WechatUser;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;

import com.panda.web.utils.pageutils.PageResult;
import com.panda.web.domain.dto.UserDTO;
import com.panda.web.domain.vo.UserVO;


/**
 * 公众号用户Service接口
 * 
 * @author cpanda
 * @date 2025-02-21
 */
public interface IWechatUserService extends IService<WechatUser> {


    CodeVO getOpenId(String code) throws Exception;

    WeChatLogin getToken(CodeVO vo) throws Exception;

    //分页查询
    PageResult<UserVO> PageList(UserDTO dto, Integer pageNum, Integer pageSize);
    //无分页查询
    List<UserVO> choiceList(UserDTO dto);
    //回显数据
    UserVO selectById(Long userId);

    //新增
    int insert(UserDTO dto);
    //个人信息提交
    ScoreVO updateUserById(UserDTO dto);

    //删除数据（逻辑删除）
    int removeByUserIds(List<Long> ids);

    String getViewReport(ReportDTO dto) throws Exception;

    UserVO selectByOpenid(String openid);

    List<UserJob> getOrderOpenid(String openid);

    UserVO getUserInfo(String openid);

    int updateUser(UserDTO dto);

    int phone(UserDTO dto);

    List<CallAi> getUserAimsByOpenid(String openid);
}
